package io.lkt.modules.sys.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 用户信息表
 *
 * @author xss
 * @email dustwas@163.com
 * @date 2019-03-09 09:46:37
 */
@Data
@TableName("b_user_info")
public class BUserInfoEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId
    private Integer userId;
    /**
     * 用户昵称
     */
    private String nickName;
    /**
     * 用户微信昵称
     */
    private String userName;
    /**
     * 用户签名
     */
    private String signature;
    /**
     * 微信用户头像URL
     */
    private String avatarUrl;
    /**
     * 用户微信二维码
     */
    private String qrcodeUrl;
    /**
     * 用户ID
     */
    private String openId;
    /**
     * 性别 0-女 1-男
     */
    private Integer gender;
    /**
     * 推荐邀请人的用户ID
     */
    private Integer referer;
    /**
     * 账户余额
     */
    private Double accountBalance;
    /**
     * 国家
     */
    private String telNum;
    /**
     * VIP会员状态 0-是VIP 1-不是VIP
     */
    private Integer vipStatus;
    /**
     * 是否关注了公众号 0-未关注 1-已关注
     */
    private Integer concernStatus;
    /**
     * 关注时间
     */
    private Date subscribeTime;
    /**
     * 取关时间
     */
    private Date unsubscribeTime;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 修改时间
     */
    private Date modifyTime;
    /**
     * 最近一次激活时间
     */
    private Date lastActiveTime;
    /**
     * 备注
     */
    private String remarks;

    @TableField(exist = false)
    private String vipTime;

    @TableField(exist = false)
    private String refererPeople;

    @TableField(exist = false)
    private Integer vipRank;

    @TableField(exist = false)
    private Integer refererTotal;

    /**
     * 关注总数
     * 一段时间内，该用户推荐的用户并且关注状态为已关注的总记录数
     */
    @TableField(exist = false)
    private Integer concernTotal;

    @TableField(exist = false)
    private Integer shareTotal;

    @TableField(exist = false)
    private String money;

    @TableField(exist = false)
    private String cumulativeIncome;

    @TableField(exist = false)
    private String settledIncome;

    @TableField(exist = false)
    private String waitIncome;

    @TableField(exist = false)
    List<BUserInfoEntity> secondReferer;

    @TableField(exist = false)
    Integer secondRefererTotal;

    @TableField(exist = false)
    String refererName;

    @TableField(exist = false)
    private String firstLevelCumulativeIncome;

    @TableField(exist = false)
    private String secondLevelCumulativeIncome;

    @TableField(exist = false)
    private String brandName;

    @TableField(exist = false)
    private String articleTypeName;

    @TableField(exist = false)
    private String articleTypeId;

    @TableField(exist = false)
    private String userIds;

    @TableField(exist = false)
    private Integer brnadUserTotal;

    @TableField(exist = false)
    private Integer brnadPayUserTotal;

    private String gzhCode;

    @TableField(exist = false)
    private String gzhName;

    @TableField(exist = false)
    private Integer giveType;

    @TableField(exist = false)
    private String giveVipDate;

    private Integer blockState;

    private Date blockTime;

    @TableField(exist = false)
    List<BUserInfoEntity> temporary;

	/**
	 * 主用户ID
	 * 如果有值，则这条记录的 userId 是主用户ID；如果为空，则不是。
	 */
	@TableField(exist = false)
    private Integer mainUserId;
}
